package decorators;

import java.util.Set;

import contracts.ContractException;
import services.BombeService;
import services.MoteurJeuService;
import services.TerrainService;
import services.VilainService;
import utils.Commande;
import utils.Resultat;
import utils.Sante;

public class MoteurJeuDecorator implements MoteurJeuService{
	private MoteurJeuService delegate;

	public MoteurJeuDecorator(MoteurJeuService delegate) {
		this.delegate = delegate;
	}

	@Override
	public int getMaxPasJeu() {
		return delegate.getMaxPasJeu();
	}

	@Override
	public int getPasJeuCourrant() {
		return delegate.getPasJeuCourrant();
	}
	
	@Override
	public int getHerosX(){
		return delegate.getHerosX();
	}
	
	@Override
	public int getHerosY(){
		return delegate.getHerosY();
	}
	
	@Override
	public int getKidnappeurX(){
		return delegate.getKidnappeurX();
	}
	
	@Override
	public int getKidnappeurY(){
		return delegate.getKidnappeurY();
	}
	
	@Override
	public Sante getHerosSante(){
		return delegate.getHerosSante();
	}
	
	@Override
	public Sante getKidnappeurSante(){
		return delegate.getKidnappeurSante();
	}
	
	@Override
	public int getHerosForceVitale(){
		return delegate.getHerosForceVitale();
	}
	
	@Override
	public int getForceVitaleKidnappeur(){
		return delegate.getForceVitaleKidnappeur();
	}
	
	@Override
	public TerrainService getTerrain(){
		return delegate.getTerrain();
	}
	
	@Override
	public Set<Integer> getBombeNumeros(){
		return delegate.getBombeNumeros();
	}
	
	@Override
	public int getNbBombes(){
		return delegate.getNbBombes();
	}
	
	@Override
	public int getNbVilains(){
		return delegate.getNbVilains();
	}
	
	@Override
	public Set<VilainService> getListeVilain(){
		return delegate.getListeVilain();
	}
	
	@Override
	public boolean bombeExiste(int num) {
		return delegate.bombeExiste(num);
	}
	
	@Override
	public boolean vilainExiste(int num) {
		return delegate.vilainExiste(num);
	}
	
	@Override
	public BombeService getBombe(int num) throws ContractException {
		return delegate.getBombe(num);
	}
	
	@Override
	public VilainService getVilain(int num) throws ContractException {
		return delegate.getVilain(num);
	}
	
	@Override
	public boolean estFini(){
		return delegate.estFini();
	}
	
	@Override
	public Resultat resultatFinal() throws ContractException{
		return delegate.resultatFinal();
	}
	
	@Override
	public boolean misEnJoue(int x, int y, int num) throws ContractException{
		return delegate.misEnJoue(x, y, num);
	}

	@Override
	public void init(int maxPasJeu) throws ContractException {
		delegate.init(maxPasJeu);
	}
	
	@Override
	public void pasJeu(Commande c, boolean bool) throws ContractException{
		delegate.pasJeu(c, bool);
	}

}
